const { ipcRenderer } = require('electron')

// const { username, password, headless, classList } = ipcRenderer.sendSync('getUserInfo')



// const userElement = document.getElementById('username')
// const passElement = document.getElementById('password')
// const submit = document.getElementById('submit')
// const startElement = document.getElementById('start')
// const selectClass = document.getElementById('selectClass')
// const repeatTimes = document.getElementById('repeatTimes')
// const headlessYes = document.getElementById(headless)

// userElement.value = username
// passElement.value = password
// headlessYes.checked = true

// if(username){
//   // 说明不是第一次登录了
//   submit.hidden = true
// }


// for (const item of classList) {
//   var y = document.createElement('option');
//   y.text = item
//   y.value = item
//   if (item !== '现代远程教育') {
//     selectClass.add(y)
//   }
// }
// for (let index = 0; index < 5; index++) {
//   var y = document.createElement('option');
//   y.text = index + 1
//   y.value = index + 1
//   repeatTimes.add(y)
// }

// let className = ''

// selectClass.addEventListener('change', (e) => {
//   const a = [...e.target].find(item => {
//     return item.selected
//   })
//   if (a) {
//     className = a.value
//   }
// })

// let repeatTimesNumber = 1

// repeatTimes.addEventListener('change', (e) => {
//   const a = [...e.target].find(item => {
//     return item.selected
//   })
//   if (a) {
//     repeatTimesNumber = a.value
//   }
// })

// submit.addEventListener('click', ()=>{
//   if(!userElement.value){
//     return '账号必填'
//   }
//   if(!passElement.value){
//     return '密码必填'
//   }
//   ipcRenderer.send('login', {
//     username: userElement.value,
//     password: passElement.value,
//   })
// })

// startElement.addEventListener('click', () => {
//   console.log('开始')
//   if(!className){
//     alert('您必须选择一门课程')
//     return
//   }
//   if(!userElement.value){
//     return '账号必填'
//   }
//   if(!passElement.value){
//     return '密码必填'
//   }
//   ipcRenderer.send('start', {
//     username: userElement.value,
//     password: passElement.value,
//     repeatTimes: repeatTimesNumber,
//     headless: document.getElementById('Yes').checked ? 'Yes' : 'No',
//     className
//   })
// })


// ipcRenderer.on('console.log', (event, message) => {
//   console.log(...message)
// })

const res = ipcRenderer.sendSync('getUserInfo')
// { username: username, password, headless, classList }

Vue.createApp({
  setup() {
    const username = Vue.ref(res.username)
    const password = Vue.ref(res.password)
    const isLogin = Vue.ref(Boolean(res.username))
    const headless = Vue.ref(res.headless)
    const classList = Vue.ref(res.classList)
    const selectClass = Vue.ref('')
    const loading = Vue.ref(false)
    const repeatTimes = Vue.ref(1)

    return {
      username,
      password,
      isLogin,
      headless,
      classList,
      selectClass,
      repeatTimes,
      loading,
      login() {
        if (loading.value) return
        if (isLogin.value) return
        loading.value = true
        return new Promise((resolve, reject) => {
          ipcRenderer.send('login', {
            username: username.value,
            password: password.value,
          })
          ipcRenderer.on('userInfoData', (event, arg) => {
            if (arg.username) {
              resolve()
            } else {
              console.error('登录失败，请退出重新登录')
              reject()
            }
            classList.value = arg.classList
            headless.value = arg.headless || 'Yes'
            isLogin.value = true
          })
        }).finally(() => {
          loading.value = false
        })
      },
      start() {
        if(!username.value){ return alert('账号必填') }
        if(!password.value){ return alert('密码必填') }
        if(!selectClass.value){ return alert('课程必选') }
        ipcRenderer.send('start', {
          username: username.value,
          password: password.value,
          repeatTimes: repeatTimes.value,
          headless: headless.value,
          className: selectClass.value
        })
      }
    }
  }
}).mount('#app')

